#ifndef __COMMAND_H__
#define __COMMAND_H__

class Reciever;
class Command
{
public:
    Command() = default;
    virtual ~Command() = default;

    virtual void Execute() = 0;
};

class ConcreteCommand : public Command
{
public:
    ConcreteCommand(Reciever *recv);
    ~ConcreteCommand();

    void Execute();

private:
    Reciever *recv_;
};

#endif

